package com.example.gss.Service;

import com.example.gss.entity.Student;

import java.util.List;
import java.util.Optional;

public interface StudentService {
    /**
     * 创建学生
     */
    Student createStudent(Student student);

    /**
     * 获取所有学生
     */
    List<Student> getAllStudents();

    /**
     * 根据ID获取学生
     */
    Optional<Student> getStudentById(String studentId);

    /**
     * 更新学生信息
     */
    Student updateStudent(Student student);

    /**
     * 删除学生
     */
    void deleteStudent(String studentId);

    /**
     * 根据姓名查询学生
     */
    List<Student> findStudentsByName(String name);

    /**
     * 根据年级查询学生
     */
    List<Student> findStudentsByGrade(String grade);

    /**
     * 根据导师ID查询学生
     */
    List<Student> findStudentsByTutorId(String tutorId);

    /**
     * 查询所有未休学的学生
     */
    List<Student> findActiveStudents();

    /**
     * 根据学号和密码查询学生（用于登录）
     */
    Optional<Student> findByStudentIdAndPassword(String studentId, String password);
}